今天進度 : 鳥哥的 Linux 私房菜 -- 第四章、首次登入與線上求助
之前 vim 無法簡單支援 tab 問題,可以在nano輕鬆解決 :
test@test:~$ nano demo.py
if(1==1):
print("Hello World")
test@test:~$ python3 demo.py
Hello World
按 F1 可以看到完整說明
補充 : ^ 代表 ctrl 鍵
,M 代表 alt 鍵
正確關機概念:
先確定網路連線狀況還有誰在使用
test@test:~$ who
test tty1 2020-09-26 04:16
test pts/0 2020-09-28 03:22 (172.31.112.1)
netstat -a
查看明細
test@test:~$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:6010 0.0.0.0:* LISTEN
tcp 0 316 test:ssh DESKTOP-WEI.mshom:57648 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 ip6-localhost:6010 [::]:* LISTEN
udp 0 0 localhost:domain 0.0.0.0:*
udp 0 0 test:bootpc 0.0.0.0:*
raw6 0 0 [::]:ipv6-icmp [::]:* 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] SEQPACKET LISTENING 16074 /run/udev/control
unix 2 [ ] DGRAM 25444 /run/user/1000/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 25447 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 25456 /run/user/1000/bus
unix 2 [ ACC ] STREAM LISTENING 25457 /run/user/1000/gnupg/S.dirmngr
unix 2 [ ACC ] STREAM LISTENING 25458 /run/user/1000/gnupg/S.gpg-agent.browser
unix 2 [ ACC ] STREAM LISTENING 25459 /run/user/1000/gnupg/S.gpg-agent.extra
unix 2 [ ACC ] STREAM LISTENING 16058 @/org/kernel/linux/storage/multipathd
unix 2 [ ACC ] STREAM LISTENING 25460 /run/user/1000/gnupg/S.gpg-agent.ssh
unix 2 [ ACC ] STREAM LISTENING 25461 /run/user/1000/gnupg/S.gpg-agent
unix 2 [ ACC ] STREAM LISTENING 25494 /run/user/1000/pk-debconf-socket
unix 2 [ ACC ] STREAM LISTENING 25495 /run/user/1000/snapd-session-agent.socket
ps -aux
查看背景執行的程序
test@test:~$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.5 167784 11632 ? Ss Sep26 0:05 /sbin/init
root 2 0.0 0.0 0 0 ? S Sep26 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< Sep26 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< Sep26 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< Sep26 0:00 [kworker/0:0H-kblockd]
root 9 0.0 0.0 0 0 ? I< Sep26 0:00 [mm_percpu_wq]
root 10 0.0 0.0 0 0 ? S Sep26 0:00 [ksoftirqd/0]
root 11 0.0 0.0 0 0 ? I Sep26 0:01 [rcu_sched]
接著通知線上使用者他們時間結束工作
執行 sync
請系統將資料同步寫入硬碟中的指令,以下鳥哥的話
在第零章、計算機概論裡面我們談到過資料在電腦中運作的模式, 所有的資料都得要被讀入記憶體後才能夠被CPU所處理
..由於硬碟的速度太慢(相對於記憶體來說),如果常常讓資料在記憶體與硬碟中來回寫入/讀出,系統的效能就不會太好
某些已經
載入記憶體中的資料將不會直接被寫回硬碟
,而是先暫存在記憶體當中不過,如此一來也造成些許的困擾,那就是萬一你的系統因為某些特殊情況造成不正常關機 (例如停電或者是不小心踢到power)時,由於資料尚未被寫入硬碟當中,哇!所以就會造成資料的更新不正常啦! 那要怎麼辦呢?這個時候就需要sync這個指令來進行資料的寫入動作啦! 直接在文字介面下輸入sync,那麼在記憶體中尚未被更新的資料,就會被寫入硬碟中!所以,這個指令在系統關機或重新開機之前, 很重要喔!最好多執行幾次!
test@test:~$ sudo sync
[sudo] password for test:
開始關機, ubuntu 關機會有一分鐘的取消時間
test@test:~$ sudo shutdown
[sudo] password for test:
Shutdown scheduled for Mon 2020-09-28 05:10:15 UTC, use 'shutdown -c' to cancel.
test@test:~$ date
Mon 28 Sep 2020 05:09:29 AM UTC
其他
重新開機,關機: reboot, halt, poweroff
可以排程某個時間點關機
test@test:~$ sudo shutdown -h 5:00
Shutdown scheduled for Tue 2020-09-29 05:00:00 UTC, use 'shutdown -c' to cancel.
查看指定年月日歷
test@test:~$ cal 9 2020
September 2020
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
tab 鍵功能 ,以下鳥哥的話
[Tab] 按鍵可做為命令補齊或檔案補齊的功能,與所接的指令位置有關。 接在一串指令的第一個單字後面,則為命令補齊,否則則為檔案補齊! 目前尚有選項/參數補齊的功能。
找出 c
開頭所有命令,使用c[Tab][Tab]
test@test:~$ c
Display all 103 possibilities? (y or n)
c++ cc chroot col7 cpio
c89 cd chrt col8 cpp
c89-gcc cfdisk chsh col9 cpp-9
c99 c++filt chvt colcrt cppw
c99-gcc cftp3 ckbcomp colrm crda
cache_check cgdisk ckeygen3 column c_rehash
cache_dump chage cksum comm cron
cache_metadata_size chardet3 clear command crontab
cache_repair chardetect3 clear_console command_not_found_handle cryptdisks_start
cache_restore chattr cloud-id compgen cryptdisks_stop
cache_writeback chcon cloud-init complete cryptsetup
cal chcpu cloud-init-per compopt cryptsetup-reencrypt
calendar check-language-support cmp compose csplit
caller chfn codepage conch3 ctail
capsh chgpasswd col continue ctrlaltdel
captoinfo chgrp col1 coproc ctstat
case chmem col2 corelist curl
cat chmod col3 cp cut
catchsegv choom col4 cpan cvtsudoers
catman chown col5 cpan5.30-x86_64-linux-gnu
cautious-launcher chpasswd col6 cpgr
$
代表一般使用者,#
代表管理員